package writtenTraining.day36;

import java.util.*;

/**
 * day36:(1)模拟 + 哈希：HJ9 提取不重复的整数
 */

public class Main {
    public static void main(String[] args) {
        // 输入数据
        Scanner in = new Scanner(System.in);
        char[] chs = in.next().toCharArray();
        int len = chs.length;

        boolean[] hash = new boolean[10];
        for(int i = len - 1; i >= 0 ; i--) {
            int num = (chs[i] - '0');
            if(!hash[num]) {
                System.out.print(num);
                hash[num] = true;
            }
        }
    }
}


/**
 * day36：（2）二叉树 + 模拟:AB32 【模板】哈夫曼编码
 */



 class Main2 {
    public static void main(String[] args) {
        // 二叉树 + 模拟

        // 输入数据
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        // 建立小根堆
        PriorityQueue<TreeNode> queue =
                new PriorityQueue<>(
                        (a,b)->a.val.compareTo(b.val));
        for(int i = 0; i < n; i++) {
            queue.add(new TreeNode(in.nextLong()));
        }

        long ret = 0;
        // 调整成哈夫曼编码
        while(queue.size() > 1) {
            TreeNode node1  = queue.poll();
            TreeNode node2 = queue.poll();
            ret += (node1.val + node2.val);

            // 连接构造
            TreeNode root = new
                    TreeNode(node1.val + node2 .val);
            root.left = node1;
            root.right = node2;
            queue.add(root);
        }


        // 输出结果
        System.out.println(ret);
    }
}


class TreeNode {
    public Long val;
    public TreeNode left;
    public TreeNode right;
    public TreeNode(Long val) {
        this.val = val;
    }

}


/**
 * day36:(3)动态规划 + 哈希 + 逆向哈希: DP36 abb
 *
 */


class Main3 {
    public static void main(String[] args) {
        // 动态规划 + 哈希 + 逆向哈希
        // 输入数据
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        char[] chs = in.next().toCharArray();

        // 创建dp
        long[] dp = new long[n];
        // long[] gp = new long[n];
        int[] hash = new int[26];
        int[] gp = new int[26];
        // 初始化
        // 填表
        long ret = 0L;
        for(int i = 0; i < n; i++) {
            // 添加这一行
            dp[i] = gp[chs[i] - 'a'];

            // 否则就加一个不相等的个数

            // hashNo[chs[i]- 'a' ] 统计前面多少个 非b的字符
            // 加上 _b个字符
            gp[chs[i] - 'a'] +=   (i - hash[chs[i] - 'a']);
            // 统计个数
            hash[chs[i] - 'a']++;

            // 添加结果
            ret += dp[i];
        }

        // 返回值
        System.out.println(ret);
    }
}


